PostgreSQL + PostGIS for Linux 安装(最新版本)
1. 环境
OS: RedHat AS4 Update4 / CentOS 5.4/5.5
PostgreSQL: 9.0.9
PostGIS: 2.0.1
2. 需要的软件包
postgresql-9.0.9.tar.gz
proj-4.8.0.tar.gz 网址:http://proj.osgeo.org/
geos-3.3.5.tar.bz2 网址:http://geos.refractions.net/
json-c-0.9.tar.gz 网址:http://oss.metaparadigm.com/json-c/
postgis-2.0.1.tar.gz
3. 编译安装源码
(1)PostgreSQL 的安装
# tar xvfz postgresql-9.0.9.tar.gz
# cd postgresql-9.0.9
# ./configure --prefix=/opt/postgresql-9.0.9
# make
# make install
# cd /usr/local
# ln -s /opt/postgresql-9.0.9 pgsql
(2)Proj 的安装
# tar xvfz proj-4.8.0.tar.gz
# cd proj-4.8.0
# ./configure --prefix=/opt/proj-4.8.0
# make
# make install
# ln -s /opt/proj-4.8.0 /usr/local/proj
(3)Geos 的安装
# tar xvfj geos-3.3.5.tar.bz2
# cd geos-3.3.5
# ./configure --prefix=/opt/geos-3.3.5
# make; make install
# ln -s /opt/geos-3.3.5 /usr/loca/geos
(4)JSON-C 的安装
# tar xvfz json-c-0.9.tar.gz
# cd json-c-0.9
# ./configure --prefix=/opt/json-c-0.9
# make; make install
# ln -s /opt/json-c-0.9 /usr/local/json-c
(5)PostGIS 的安装
# tar xvfz postgis-2.0.1.tar.gz
# cd postgis-2.0.1
# ./configure --prefix=/opt/postgis-2.0.1 --with-pgconfig=/usr/local/pgsql/bin/pg_config --with-projdir=/usr/local/proj --with-geosconfig=/usr/local/geos/bin/geos-config --with-jsondir=/usr/local/json-c --without-raster
# make; make install
# ln -s /opt/postgis-2.0.1 /usr/local/postgis
4. 配置环境
(1)创建用户 postgres
# groupadd postgres
# useradd -g postgres postgres
(2)用户postgres的环境变量
# su - postgres
$ vi .bash_profile
添加下面的内容:
PGDATA=$HOME/data
PGSQL_HOME=/usr/local/pgsql
PROJ_HOME=/usr/local/proj
GEOS_HOME=/usr/local/geos
LD_LIBRARY_PATH=$PGSQL_HOME/lib:$PROJ_HOME/lib:$GEOS_HOME/lib
PATH=$PGSQL_HOME/bin:$PATH:$HOME/bin
export PATH PGDATA PGSQL_HOME PROJ_HOME GEOS_HOME LD_LIBRARY_PATH
$ exit
重新登录后环境变量生效
(3)PostgreSQL 数据库初始化及配置
# su - postgres
$ initdb -D data
$ cd data
修改postgresql.conf, pg_hba.conf, 使用户可以远程访问。
(4)PostGIS 安装配置
# su - postgres
$ pg_ctl start
$ createdb postgis
$ createlang plpgsql postgis
$ cd $PGSQL_HOME/share/contrib/postgis-2.0
$ psql -d postgis -f postgis.sql
$ psql -d postgis -f spatial_ref_sys.sql
(postgis数据库为PostGIS模版数据库,可以使用这个模版创建其他支持PostGIS的数据库。)
至此安装成功,注意LD_LIBRARY_PATH里的路径设置一定要包含 proj 和 geos 的库的路径,否则 psql -f xxxx.sql 的时候会失败。
5. 最后安装Windows客户端 PgAdminIII,安装好了,就可以用PgAdminIII连接的数据库服务器,可以查看到gisdb数据库里有了PostGIS的空间函数,数据类型等支持了。